package com.sinevil.tcpTrans.interfaces;

import com.sinevil.tcpTrans.utils.fileTrans.fileDownload.FileDownloadTask;

/**
 * @Classname DownloadTaskListener
 * @Description 下载任务监听器，当下载任务发生变化时调用对于应的方法
 * @Version 1.0.0
 * @Date 2025/3/20 22:50
 * @Created by sinevil
 */
public interface DownloadTaskListener {
    /**
     * 当添加新的下载任务时调用
     * @param filePath 新的下载任务
     */
    void addTask(String filePath);

    /**
     * 当启动新的下载任务时调用
     * @param task 新启动的下载任务
     */
    void startTask(FileDownloadTask task);

    /**
     * 当任务完成时调用
     * @param task 完成的下载任务
     */
    void completeTask(FileDownloadTask task);

    /**
     * 当任务取消时调用
     * @param fileName 被取消的下载任务
     */
    void cancelledTask(String fileName);
}